/**
 * @author AlfredCai
 */
public class Main {

    public static void main(String[] args) {
        System.out.println("Hello World!");
        Sort.Selection(rand(10000));
        Sort.Insertion(rand(10000));
        Sort.Shell(rand(10000));
        Sort.Merge(rand(10000));
        Sort.MergeBU(rand(10000));
        Sort.Quick(rand(10000));

    }

    public static void printArray(int[] a) {
        for (int anA : a) {
            System.out.print(anA + " ");
        }
        System.out.print("\n");
    }

    public static int[] rand(int maxSize) {
        System.out.println();
        int[] a = new int[maxSize];
        for (int i = 0; i < maxSize; i++) {
            a[i] = (int) (Math.random() * 100);
        }
//        printArray(a);
        return a;
    }

    public static int[] array(int maxSize) {
        System.out.println();
        int[] base = {67, 88, 59, 64, 89, 1, 34, 23, 33, 12, 92, 25, 76, 26, 12, 49, 79, 72, 31, 75, 60, 17, 8, 98, 77, 87, 15, 35, 51, 15, 68, 36, 53, 22, 52, 79, 99, 45, 39, 37, 11, 36, 2, 50, 84, 20, 75, 49, 82, 84, 79, 96, 21, 71, 6, 57, 2, 39, 1, 32, 93, 49, 17, 13, 76, 25, 0, 77, 5, 58, 62, 75, 82, 19, 46, 90, 23, 46, 43, 26, 37, 95, 7, 7, 41, 63, 42, 41, 42, 85, 73, 53, 91, 68, 0, 37, 55, 0, 20, 81, 87, 43, 56, 27, 93, 36, 64, 63, 68, 41, 8, 51, 37, 51, 70, 30, 85, 76, 56, 68, 92, 87, 78, 44, 46, 45, 30, 19, 46, 75, 87, 40, 0, 22, 23, 12, 2, 57, 6, 85, 50, 77, 82, 68, 94, 97, 44, 21, 8, 0, 17, 41, 18, 73, 18, 6, 31, 43, 41, 10, 20, 75, 4, 71, 10, 8, 50, 85, 30, 44, 33, 38, 99, 31, 98, 90, 39, 26, 33, 91, 0, 57, 33, 9, 53, 44, 71, 79, 47, 4, 2, 15, 73, 84, 13, 94, 52, 47, 31, 6, 83, 69, 45, 69, 9, 84, 48, 24, 43, 60, 8, 63, 64, 58, 97, 43, 31, 4, 26, 46, 6, 53, 64, 32, 60, 32, 50, 3, 21, 84, 19, 32, 83, 58, 42, 9, 33, 42, 35, 21, 60, 40, 64, 46, 14, 79, 42, 41, 32, 17, 58, 69, 31, 38, 28, 7, 51, 8, 16, 47, 80, 52, 1, 33, 40, 59, 94, 15, 1, 82, 57, 46, 99, 63, 7, 35, 98, 66, 34, 56, 68, 89, 12, 48, 95, 86, 43, 24, 20, 99, 75, 50, 0, 91, 2, 39, 41, 36, 51, 46, 63, 28, 17, 80, 22, 23, 61, 41, 49, 61, 86, 56, 79, 73, 24, 97, 69, 87, 21, 17, 48, 50, 72, 49, 22, 84, 5, 98, 61, 91, 69, 54, 58, 42, 48, 43, 66, 88, 9, 43, 61, 57, 94, 99, 60, 3, 61, 62, 5, 8, 84, 2, 62, 55, 91, 55, 39, 29, 9, 78, 7, 2, 68, 9, 4, 49, 79, 38, 84, 3, 49, 59, 83, 75, 99, 39, 21, 46, 87, 46, 43, 21, 34, 41, 86, 67, 16, 47, 14, 22, 99, 80, 81, 97, 6, 37, 19, 86, 11, 32, 22, 15, 79, 55, 49, 69, 83, 59, 55, 88, 55, 70, 40, 68, 49, 29, 36, 35, 37, 83, 14, 79, 50, 78, 70, 45, 84, 0, 64, 71, 24, 50, 12, 17, 12, 66, 23, 53, 71, 19, 47, 35, 25, 56, 27, 42, 97, 1, 17, 70, 72, 39, 69, 74, 53, 91, 63, 75, 80, 82, 10, 0, 13, 97, 94, 33, 5, 51, 77, 51, 79, 42, 98, 52, 1, 34, 89, 99, 88, 70, 64, 29, 8, 76, 67, 7, 63, 73, 89, 22, 95, 16, 30, 70, 44, 11, 63, 7, 22, 69, 87, 84, 74, 17, 79, 11, 5, 75, 67, 89, 39, 92, 99, 29, 83, 25, 54, 91, 80, 29, 79, 93, 39, 27, 19, 27, 34, 34, 39, 39, 22, 79, 59, 63, 61, 28, 9, 78, 61, 51, 95, 21, 67, 45, 14, 86, 78, 6, 83, 69, 42, 59, 63, 65, 31, 4, 37, 36, 58, 10, 62, 27, 63, 69, 79, 25, 96, 8, 55, 17, 15, 14, 52, 41, 15, 45, 79, 76, 40, 62, 67, 58, 61, 27, 81, 97, 31, 91, 77, 78, 85, 9, 17, 44, 45, 4, 86, 81, 30, 21, 63, 22, 77, 8, 41, 47, 92, 81, 79, 21, 32, 27, 69, 10, 64, 48, 19, 81, 90, 12, 55, 76, 30, 79, 76, 42, 62, 10, 71, 97, 65, 66, 6, 74, 86, 99, 98, 19, 42, 73, 69, 6, 4, 14, 15, 6, 76, 10, 84, 8, 32, 15, 34, 34, 42, 13, 74, 73, 94, 66, 3, 99, 46, 6, 65, 20, 2, 33, 22, 82, 41, 63, 59, 13, 93, 29, 30, 71, 17, 15, 82, 58, 58, 43, 61, 16, 6, 53, 99, 38, 14, 38, 77, 95, 76, 23, 31, 82, 23, 22, 27, 89, 17, 24, 24, 83, 43, 11, 98, 13, 30, 46, 44, 27, 73, 26, 40, 43, 76, 10, 19, 68, 25, 27, 88, 34, 50, 98, 32, 87, 25, 49, 27, 30, 92, 95, 33, 9, 53, 92, 50, 90, 31, 60, 57, 63, 43, 8, 20, 8, 34, 15, 25, 18, 17, 50, 33, 83, 23, 17, 82, 24, 33, 1, 39, 67, 54, 41, 17, 43, 52, 94, 78, 2, 84, 2, 35, 40, 70, 84, 19, 31, 73, 92, 1, 96, 55, 33, 31, 29, 95, 99, 65, 25, 4, 27, 15, 93, 50, 42, 41, 33, 96, 37, 67, 5, 3, 53, 6, 50, 0, 79, 61, 26, 0, 55, 26, 10, 91, 48, 76, 5, 25, 50, 33, 71, 54, 23, 97, 19, 6, 5, 23, 92, 87, 78, 63, 53, 78, 93, 28, 21, 49, 37, 50, 0, 72, 35, 87, 46, 94, 57, 10, 51, 72, 47, 34, 23, 89, 38, 96, 80, 73, 95, 61, 80, 28, 79, 54, 61, 26, 93, 28, 62, 60, 43, 59, 76, 50, 22, 33, 67, 13, 93, 21, 83, 54, 38, 66, 80, 81, 6, 0, 69, 95, 99, 94, 18, 88, 94, 85, 98, 66, 37, 67, 32, 79, 72, 47, 35, 85, 47, 41, 37, 66, 60, 71, 3, 41, 74, 53, 59, 52, 8, 4, 2, 5, 12, 87, 26, 7, 84, 94, 5, 19, 57, 32, 32, 60, 55, 7, 95, 21, 75, 15, 72, 44, 58, 40, 22, 64, 65, 47, 3, 96, 49, 64, 97, 42, 51, 37, 85, 13, 53, 75, 30, 38, 9, 49, 28, 95, 74, 31, 2, 30, 27, 3, 17, 48, 39, 5, 19, 56, 56, 56, 8, 17, 71, 80, 85, 0, 83, 9, 27, 72, 17, 62, 99, 52, 57, 23, 90, 68, 87, 2, 56, 69, 37, 51, 41, 52, 80, 38, 13, 16, 36, 99, 86, 97, 83, 99, 44, 93, 94, 92, 44, 61, 90, 44, 2, 50, 95, 3, 62, 31, 71, 14, 56, 58, 14, 65, 68, 87, 85, 27, 72, 96, 66, 79, 40, 86, 21, 48, 63, 53, 72, 87, 26, 65, 99, 0, 15, 76, 88, 74, 61, 12, 90, 15, 71, 95, 50, 15, 25, 49, 14, 32, 36, 13, 32, 89, 74, 21, 27, 87, 18, 48, 17, 11, 29, 1, 23, 61, 33, 57, 40, 67, 86, 43, 94, 74, 41, 81, 39, 51, 13, 36, 31, 54, 75, 91, 27, 37, 24, 66, 63, 93, 88, 26, 79, 34, 54, 66, 58, 96, 43, 52, 86, 4, 72, 11, 38, 76, 94, 78, 27, 50, 14, 10, 85, 34, 64, 20, 58, 99, 14, 79, 39, 62, 90, 87, 18, 36, 66, 5, 4, 28, 8, 31, 8, 63, 53, 41, 26, 35, 96, 97, 84, 92, 11, 78, 9, 81, 85, 50, 69, 99, 36, 1, 73, 41, 33, 77, 90, 91, 31, 17, 83, 64, 91, 75, 80, 62, 56, 98, 85, 46, 23, 97, 4, 48, 40, 7, 44, 19, 62, 99, 2, 8, 58, 78, 73, 85, 7, 3, 57, 77, 74, 69, 74, 63, 86, 0, 31, 81, 22, 16, 57, 43, 55, 25, 29, 9, 66, 55, 99, 62, 6, 93, 75, 71, 55, 97, 44, 34, 91, 87, 26, 6, 73, 52, 78, 18, 91, 9, 42, 98, 50, 52, 21, 1, 3, 64, 94, 26, 81, 36, 19, 13, 98, 32, 86, 66, 65, 56, 25, 23, 86, 25, 8, 88, 66, 46, 10, 73, 97, 68, 61, 54, 62, 67, 37, 47, 52, 25, 7, 88, 30, 99, 89, 88, 92, 73, 42, 72, 70, 52, 42, 10, 79, 91, 4, 12, 93, 24, 11, 54, 1, 7, 45, 45, 3, 27, 19, 6, 33, 48, 41, 8, 62, 44, 65, 67, 39, 51, 17, 78, 5, 1, 95, 31, 22, 49, 16, 51, 55, 71, 88, 36, 51, 47, 28, 36, 54, 33, 28, 72, 23, 35, 60, 57, 3, 54, 21, 64, 48, 9, 28, 9, 85, 80, 61, 82, 46, 3, 84, 4, 4, 34, 74, 27, 7, 48, 12, 99, 79, 75, 93, 95, 65, 8, 70, 99, 59, 57, 26, 32, 57, 68, 43, 78, 65, 89, 32, 24, 91, 64, 45, 47, 56, 93, 26, 79, 36, 86, 88, 80, 92, 14, 58, 4, 12, 90, 89, 69, 39, 11, 47, 85, 39, 11, 9, 62, 17, 46, 71, 14, 69, 46, 23, 21, 24, 60, 30, 28, 26, 55, 72, 90, 55, 80, 49, 48, 6, 16, 46, 65, 4, 11, 77, 45, 31, 0, 6, 7, 45, 3, 93, 60, 50, 84, 36, 39, 89, 0, 46, 52, 26, 94, 78, 17, 90, 6, 74, 63, 69, 58, 6, 74, 46, 30, 84, 19, 86, 11, 28, 54, 4, 88, 76, 1, 64, 80, 32, 19, 78, 81, 68, 62, 12, 34, 9, 69, 30, 81, 39, 69, 28, 88, 20, 11, 85, 75, 87, 98, 52, 0, 91, 93, 68, 69, 92, 15, 44, 71, 55, 46, 83, 47, 19, 11, 80, 76, 72, 35, 82, 27, 96, 84, 59, 61, 92, 0, 95, 74, 62, 81, 75, 89, 54, 38, 5, 49, 66, 46, 81, 27, 24, 53, 97, 12, 59, 30, 57, 92, 22, 79, 25, 5, 13, 68, 62, 14, 87, 60, 52, 85, 65, 24, 26, 83, 85, 30, 82, 79, 58, 63, 8, 68, 51, 28, 78, 86, 26, 94, 47, 52, 29, 53, 27, 43, 69, 92, 59, 9, 46, 34, 15, 32, 85, 14, 55, 2, 30, 66, 3, 3, 70, 38, 12, 6, 71, 52, 31, 23, 3, 2, 94, 73, 71, 37, 88, 90, 73, 32, 10, 82, 40, 29, 18, 66, 18, 70, 72, 53, 27, 51, 58, 21, 81, 54, 67, 22, 7, 56, 28, 93, 4, 98, 70, 95, 50, 5, 11, 97, 14, 83, 67, 27, 39, 94, 3, 49, 75, 65, 46, 11, 28, 74, 11, 83, 6, 31, 94, 54, 55, 2, 41, 78, 90, 98, 99, 82, 36, 12, 95, 18, 26, 9, 41, 7, 16, 10, 63, 66, 1, 77, 35, 36, 61, 13, 0, 6, 73, 89, 44, 19, 93, 95, 7, 96, 5, 59, 87, 49, 30, 13, 52, 41, 87, 3, 1, 80, 67, 13, 23, 57, 33, 63, 39, 11, 2, 58, 74, 12, 39, 22, 10, 57, 21, 17, 11, 52, 45, 64, 97, 13, 64, 0, 55, 41, 38, 85, 97, 61, 59, 43, 37, 80, 71, 58, 78, 4, 89, 69, 44, 98, 15, 5, 60, 4, 18, 82, 6, 5, 44, 32, 35, 66, 10, 69, 1, 59, 27, 20, 4, 3, 6, 12, 13, 97, 86, 0, 98, 57, 43, 50, 69, 27, 31, 28, 96, 80, 31, 24, 45, 70, 88, 54, 66, 79, 28, 7, 11, 7, 83, 60, 98, 1, 65, 2, 65, 81, 41, 77, 95, 3, 27, 52, 61, 42, 13, 46, 38, 15, 85, 2, 44, 37, 56, 62, 54, 27, 31, 10, 44, 96, 10, 11, 48, 30, 62, 84, 84, 54, 45, 5, 70, 96, 27, 99, 13, 10, 95, 65, 37, 91, 19, 37, 73, 24, 83, 5, 33, 40, 77, 22, 45, 91, 4, 28, 42, 96, 39, 66, 44, 45, 31, 25, 7, 83, 53, 46, 62, 88, 50, 44, 5, 10, 46, 68, 65, 46, 49, 70, 89, 76, 88, 99, 10, 90, 4, 32, 33, 22, 28, 65, 24, 79, 56, 27, 77, 89, 74, 48, 63, 14, 49, 26, 78, 93, 40, 36, 55, 12, 92, 14, 85, 28, 89, 99, 82, 24, 58, 54, 9, 54, 48, 1, 56, 82, 25, 0, 67, 27, 66, 71, 1, 25, 42, 97, 98, 94, 48, 97, 44, 51, 52, 28, 94, 45, 81, 0, 70, 95, 21, 1, 95, 93, 32, 18, 4, 21, 51, 7, 31, 44, 99, 13, 19, 95, 68, 61, 24, 50, 26, 47, 82, 57, 29, 20, 70, 82, 27, 34, 90, 18, 74, 53, 67, 53, 73, 35, 61, 62, 21, 84, 68, 76, 34, 58, 77, 6, 87, 50, 65, 47, 96, 90, 87, 63, 76, 34, 35, 81, 72, 58, 39, 12, 70, 76, 6, 41, 96, 10, 78, 55, 5, 63, 27, 42, 62, 57, 30, 36, 37, 51, 40, 16, 37, 16, 79, 41, 12, 80, 97, 67, 87, 41, 85, 96, 4, 69, 69, 67, 62, 41, 8, 45, 82, 23, 37, 58, 50, 27, 37, 77, 19, 67, 66, 53, 96, 12, 41, 18, 61, 97, 90, 77, 33, 78, 86, 19, 9, 31, 80, 74, 85, 87, 87, 7, 88, 63, 54, 68, 26, 77, 92, 76, 4, 90, 60, 62, 19, 93, 10, 30, 17, 45, 42, 9, 56, 33, 34, 18, 77, 51, 61, 96, 85, 11, 32, 7, 96, 2, 47, 18, 84, 64, 80, 3, 65, 14, 81, 28, 16, 64, 88, 95, 32, 9, 60, 98, 3, 1, 28, 93, 2, 33, 72, 40, 61, 55, 64, 86, 16, 4, 93, 35, 9, 71, 58, 40, 35, 60, 85, 6, 49, 3, 80, 6, 32, 43, 51, 20, 64, 0, 60, 12, 53, 31, 86, 92, 86, 34, 62, 71, 23, 26, 13, 46, 37, 3, 62, 99, 92, 35, 10, 47, 37, 68, 56, 56, 52, 26, 62, 13, 39, 85, 40, 43, 67, 25, 85, 51, 36, 58, 34, 10, 6, 92, 21, 13, 32, 24, 36, 64, 65, 12, 89, 39, 96, 31, 38, 88, 5, 53, 43, 29, 34, 86, 39, 3, 72, 5, 83, 86, 35, 78, 20, 33, 50, 95, 2, 1, 93, 1, 92, 57, 66, 33, 78, 76, 1, 40, 16, 65, 71, 45, 40, 15, 71, 78, 56, 40, 32, 0, 71, 18, 28, 55, 18, 35, 30, 19, 17, 61, 80, 86, 91, 28, 52, 42, 21, 55, 70, 96, 82, 69, 6, 86, 11, 7, 38, 66, 11, 36, 14, 9, 92, 23, 82, 62, 30, 89, 45, 88, 30, 46, 74, 16, 45, 75, 1, 41, 33, 94, 74, 71, 92, 22, 87, 83, 65, 59, 52, 2, 70, 38, 89, 80, 35, 72, 8, 99, 39, 80, 64, 41, 61, 49, 51, 43, 54, 79, 29, 70, 9, 78, 75, 31, 58, 36, 73, 58, 29, 94, 52, 26, 79, 9, 47, 97, 58, 81, 10, 43, 12, 66, 9, 33, 67, 68, 91, 86, 59, 81, 15, 11, 58, 26, 89, 3, 56, 86, 93, 55, 38, 82, 16, 28, 42, 9, 46, 97, 36, 98, 60, 15, 22, 61, 48, 57, 42, 92, 7, 5, 22, 62, 61, 20, 63, 89, 65, 57, 67, 5, 66, 77, 51, 34, 5, 40, 10, 98, 80, 18, 33, 6, 91, 83, 96, 49, 30, 92, 44, 15, 98, 8, 37, 68, 79, 82, 66, 69, 5, 12, 37, 8, 32, 52, 93, 36, 26, 53, 2, 66, 77, 65, 96, 59, 29, 77, 96, 14, 32, 84, 55, 75, 32, 76, 57, 47, 93, 93, 77, 59, 94, 70, 67, 43, 23, 13, 18, 95, 32, 52, 45, 87, 19, 0, 80, 36, 34, 37, 16, 8, 36, 36, 51, 17, 46, 16, 54, 17, 75, 63, 8, 20, 61, 77, 23, 57, 48, 17, 2, 15, 31, 83, 47, 96, 83, 64, 94, 25, 78, 87, 3, 27, 33, 40, 10, 80, 81, 37, 97, 58, 5, 50, 32, 69, 70, 8, 75, 1, 11, 78, 58, 1, 33, 46, 92, 96, 17, 19, 75, 31, 41, 26, 16, 28, 47, 23, 40, 16, 34, 55, 60, 26, 48, 11, 72, 5, 24, 69, 62, 46, 45, 29, 76, 82, 17, 5, 53, 84, 35, 16, 79, 4, 36, 54, 94, 63, 88, 20, 31, 19, 37, 21, 54, 99, 67, 88, 2, 47, 9, 38, 73, 39, 81, 8, 90, 62, 20, 32, 41, 7, 33, 86, 11, 1, 59, 16, 58, 36, 30, 77, 34, 96, 64, 67, 80, 39, 55, 9, 90, 9, 47, 20, 67, 65, 33, 73, 69, 98, 59, 69, 71, 43, 37, 62, 65, 66, 59, 72, 36, 93, 7, 71, 62, 54, 60, 93, 16, 87, 90, 20, 53, 90, 87, 31, 7, 56, 17, 37, 29, 98, 71, 21, 57, 98, 75, 18, 1, 35, 37, 96, 16, 29, 49, 65, 23, 11, 94, 61, 19, 75, 23, 41, 42, 98, 17, 7, 21, 4, 85, 26, 81, 50, 79, 66, 32, 42, 71, 41, 39, 73, 73, 95, 16, 23, 24, 76, 69, 36, 42, 28, 57, 74, 80, 49, 50, 93, 96, 38, 93, 17, 94, 75, 87, 69, 86, 1, 89, 61, 64, 21, 81, 26, 72, 57, 88, 2, 22, 78, 73, 10, 89, 96, 66, 53, 0, 77, 52, 55, 17, 26, 74, 85, 91, 30, 61, 78, 93, 3, 52, 34, 56, 71, 61, 8, 38, 20, 42, 22, 53, 27, 40, 21, 61, 90, 31, 79, 91, 52, 58, 81, 92, 71, 20, 83, 30, 90, 76, 5, 39, 21, 70, 41, 80, 66, 13, 4, 70, 70, 94, 79, 73, 6, 25, 69, 78, 59, 94, 24, 10, 44, 0, 2, 67, 75, 53, 88, 9, 70, 10, 7, 70, 87, 34, 85, 97, 20, 71, 3, 91, 61, 45, 46, 39, 5, 94, 10, 35, 6, 82, 15, 77, 51, 44, 31, 52, 80, 52, 35, 36, 83, 12, 29, 29, 61, 22, 56, 17, 67, 88, 57, 91, 63, 78, 34, 83, 17, 0, 16, 4, 39, 67, 96, 3, 6, 20, 30, 88, 26, 61, 80, 17, 57, 87, 70, 79, 95, 70, 0, 42, 91, 87, 63, 6, 30, 86, 74, 13, 61, 82, 67, 70, 50, 45, 19, 48, 0, 83, 6, 27, 33, 31, 6, 71, 67, 18, 92, 36, 19, 60, 30, 38, 60, 30, 68, 11, 99, 17, 29, 44, 35, 1, 60, 78, 12, 42, 63, 8, 45, 1, 29, 49, 9, 81, 42, 69, 0, 6, 40, 47, 60, 46, 52, 30, 99, 15, 2, 46, 12, 56, 30, 44, 88, 86, 53, 19, 16, 47, 75, 19, 53, 60, 79, 93, 89, 83, 10, 98, 42, 29, 96, 72, 82, 92, 20, 25, 81, 99, 36, 67, 58, 19, 34, 14, 19, 18, 22, 31, 13, 69, 35, 92, 39, 99, 14, 22, 86, 79, 99, 48, 89, 44, 54, 10, 46, 44, 12, 50, 46, 44, 63, 14, 47, 81, 12, 91, 4, 28, 54, 31, 99, 15, 49, 68, 52, 71, 64, 6, 82, 16, 64, 32, 81, 91, 22, 36, 6, 24, 41, 33, 43, 91, 7, 14, 8, 26, 58, 69, 42, 30, 59, 70, 16, 98, 63, 6, 34, 29, 53, 35, 32, 9, 47, 17, 70, 44, 47, 69, 23, 46, 75, 90, 0, 55, 52, 5, 6, 23, 24, 59, 30, 70, 6, 9, 74, 72, 10, 85, 96, 31, 42, 54, 97, 29, 24, 97, 0, 67, 64, 65, 99, 63, 99, 48, 15, 47, 2, 80, 91, 23, 79, 56, 65, 7, 93, 28, 12, 82, 70, 41, 29, 77, 97, 24, 9, 14, 80, 74, 25, 15, 75, 35, 50, 35, 88, 91, 75, 22, 62, 65, 68, 86, 98, 49, 65, 17, 26, 56, 70, 49, 66, 25, 28, 71, 88, 11, 47, 9, 7, 78, 40, 40, 48, 88, 90, 21, 16, 31, 1, 51, 45, 16, 95, 33, 68, 44, 20, 16, 41, 20, 91, 76, 78, 84, 52, 99, 6, 90, 50, 28, 22, 3, 48, 39, 44, 94, 51, 0, 80, 1, 10, 16, 5, 39, 1, 16, 28, 15, 66, 21, 38, 34, 52, 80, 85, 67, 4, 45, 5, 89, 51, 40, 21, 73, 44, 14, 68, 82, 17, 15, 59, 78, 17, 35, 92, 47, 35, 25, 22, 82, 84, 22, 43, 94, 13, 45, 33, 64, 37, 23, 78, 46, 33, 83, 49, 30, 27, 70, 43, 51, 93, 40, 88, 28, 43, 6, 37, 25, 37, 7, 93, 12, 26, 86, 2, 16, 98, 9, 26, 59, 80, 35, 45, 94, 15, 2, 96, 48, 37, 22, 12, 19, 96, 75, 67, 73, 68, 83, 57, 33, 31, 18, 87, 47, 62, 89, 88, 85, 92, 65, 40, 14, 2, 56, 78, 75, 60, 10, 23, 74, 17, 41, 64, 85, 65, 65, 87, 91, 92, 67, 87, 28, 52, 1, 90, 54, 54, 65, 44, 37, 76, 94, 68, 78, 84, 47, 42, 75, 7, 77, 8, 88, 1, 21, 86, 24, 7, 43, 83, 36, 30, 33, 40, 14, 86, 81, 90, 2, 59, 89, 44, 66, 71, 25, 85, 17, 30, 84, 66, 82, 33, 41, 18, 99, 23, 66, 36, 5, 55, 0, 16, 78, 31, 76, 86, 13, 45, 94, 59, 64, 50, 72, 81, 49, 24, 9, 38, 77, 96, 22, 38, 78, 36, 48, 8, 53, 56, 5, 48, 28, 66, 77, 76, 81, 23, 80, 60, 67, 62, 37, 67, 44, 64, 99, 84, 5, 2, 32, 65, 61, 45, 77, 23, 46, 39, 13, 45, 73, 73, 39, 53, 0, 28, 87, 10, 93, 74, 20, 95, 58, 13, 39, 12, 27, 83, 77, 51, 74, 26, 44, 37, 43, 27, 35, 10, 4, 31, 8, 53, 27, 36, 0, 33, 19, 7, 56, 75, 69, 93, 80, 77, 59, 63, 66, 87, 60, 24, 11, 17, 17, 22, 14, 19, 96, 87, 90, 80, 72, 20, 73, 87, 13, 3, 46, 98, 96, 6, 93, 21, 14, 43, 0, 30, 6, 34, 46, 59, 48, 72, 12, 40, 55, 94, 14, 69, 50, 94, 98, 2, 55, 20, 57, 30, 76, 69, 72, 82, 95, 59, 82, 93, 57, 88, 52, 22, 99, 6, 12, 85, 82, 24, 25, 14, 14, 32, 23, 51, 80, 97, 68, 49, 50, 56, 77, 19, 44, 27, 57, 74, 3, 44, 4, 56, 43, 57, 31, 96, 22, 38, 88, 42, 96, 64, 78, 11, 13, 39, 59, 73, 8, 4, 65, 49, 91, 3, 9, 88, 97, 54, 26, 68, 20, 23, 80, 56, 56, 40, 82, 29, 93, 8, 80, 89, 37, 64, 64, 38, 61, 79, 35, 61, 40, 90, 50, 48, 1, 40, 98, 44, 50, 23, 40, 35, 75, 9, 38, 95, 62, 3, 45, 11, 40, 92, 5, 55, 68, 8, 42, 32, 96, 58, 44, 44, 20, 26, 34, 8, 84, 37, 97, 63, 73, 40, 14, 28, 72, 53, 8, 35, 81, 35, 26, 56, 95, 56, 41, 46, 99, 40, 68, 69, 30, 26, 60, 74, 18, 35, 67, 28, 34, 61, 26, 15, 27, 4, 56, 6, 57, 59, 42, 27, 82, 14, 97, 33, 21, 76, 3, 80, 33, 38, 44, 5, 37, 4, 70, 67, 33, 73, 48, 85, 69, 11, 68, 8, 28, 0, 35, 88, 4, 29, 54, 67, 4, 0, 14, 20, 60, 89, 39, 50, 47, 17, 0, 37, 50, 38, 36, 67, 29, 32, 53, 6, 98, 77, 72, 66, 37, 3, 67, 22, 42, 20, 95, 73, 0, 53, 67, 92, 5, 59, 61, 9, 90, 48, 97, 92, 0, 71, 70, 42, 92, 77, 3, 62, 98, 22, 96, 20, 75, 18, 37, 92, 89, 41, 42, 90, 10, 76, 50, 22, 0, 77, 90, 76, 14, 12, 53, 43, 63, 55, 42, 96, 13, 92, 42, 89, 35, 94, 69, 39, 60, 43, 35, 44, 24, 64, 17, 19, 53, 85, 60, 17, 63, 79, 34, 76, 20, 72, 95, 44, 42, 68, 14, 13, 94, 71, 49, 28, 92, 56, 78, 70, 74, 57, 24, 32, 77, 64, 33, 68, 48, 99, 18, 74, 34, 96, 86, 98, 41, 71, 44, 95, 73, 73, 93, 25, 85, 14, 72, 2, 36, 48, 80, 14, 48, 25, 29, 98, 49, 87, 63, 36, 64, 59, 15, 62, 51, 21, 52, 83, 39, 59, 11, 31, 57, 95, 14, 98, 39, 64, 89, 4, 97, 66, 40, 27, 82, 44, 56, 72, 50, 36, 32, 16, 84, 73, 86, 28, 44, 9, 98, 28, 32, 43, 29, 31, 7, 21, 47, 55, 94, 61, 91, 20, 88, 78, 96, 36, 79, 97, 27, 97, 70, 88, 35, 20, 4, 83, 4, 34, 62, 94, 27, 30, 50, 58, 4, 65, 37, 28, 27, 14, 84, 20, 90, 73, 33, 50, 42, 92, 10, 46, 53, 81, 70, 36, 86, 36, 54, 56, 5, 7, 23, 42, 80, 36, 5, 66, 96, 49, 59, 39, 9, 53, 71, 42, 57, 92, 33, 8, 44, 41, 6, 38, 18, 70, 99, 49, 80, 7, 40, 5, 35, 27, 83, 12, 58, 40, 98, 86, 19, 37, 20, 93, 54, 6, 99, 38, 78, 8, 50, 25, 76, 22, 70, 47, 0, 56, 36, 65, 92, 37, 19, 31, 17, 29, 37, 64, 73, 82, 45, 38, 72, 34, 49, 56, 30, 75, 84, 89, 43, 71, 19, 24, 84, 88, 16, 33, 6, 92, 60, 7, 94, 13, 89, 90, 57, 41, 42, 69, 27, 91, 24, 16, 91, 35, 45, 42, 48, 76, 14, 26, 49, 99, 83, 14, 73, 57, 34, 29, 45, 54, 38, 20, 98, 68, 15, 88, 55, 36, 67, 63, 5, 43, 59, 96, 28, 88, 74, 69, 15, 1, 91, 34, 39, 42, 53, 49, 18, 84, 80, 54, 12, 9, 44, 39, 26, 54, 71, 97, 61, 17, 65, 17, 8, 43, 15, 49, 52, 80, 5, 35, 16, 13, 79, 83, 63, 82, 99, 14, 5, 55, 85, 47, 8, 20, 5, 76, 4, 47, 11, 1, 45, 25, 72, 28, 97, 40, 28, 0, 79, 54, 62, 21, 23, 59, 94, 86, 58, 49, 53, 28, 91, 14, 4, 34, 79, 70, 61, 36, 80, 77, 64, 59, 88, 65, 30, 48, 70, 61, 57, 94, 27, 48, 2, 18, 21, 16, 10, 75, 58, 68, 55, 82, 90, 11, 69, 8, 82, 13, 63, 59, 68, 82, 55, 5, 13, 72, 36, 22, 64, 70, 60, 4, 89, 52, 23, 78, 70, 53, 91, 12, 32, 27, 4, 98, 92, 69, 87, 48, 75, 51, 90, 82, 18, 87, 53, 60, 24, 87, 17, 67, 77, 54, 94, 46, 43, 4, 94, 96, 83, 25, 50, 15, 42, 70, 51, 9, 92, 91, 49, 51, 33, 35, 88, 30, 10, 8, 35, 78, 85, 64, 24, 63, 21, 31, 43, 38, 74, 98, 7, 8, 34, 92, 30, 15, 25, 23, 7, 72, 60, 73, 71, 93, 92, 88, 39, 33, 68, 80, 88, 14, 12, 8, 63, 75, 94, 90, 72, 64, 30, 26, 57, 20, 89, 52, 15, 38, 6, 30, 80, 99, 24, 59, 58, 22, 9, 60, 55, 61, 11, 11, 25, 15, 94, 25, 35, 2, 83, 48, 99, 85, 2, 38, 50, 59, 59, 19, 60, 9, 28, 31, 37, 16, 86, 11, 94, 62, 57, 0, 92, 94, 17, 63, 34, 40, 46, 8, 15, 43, 87, 36, 1, 51, 24, 34, 30, 55, 87, 4, 51, 83, 19, 50, 86, 48, 56, 5, 54, 55, 39, 60, 95, 10, 20, 54, 45, 6, 77, 43, 52, 1, 68, 7, 36, 60, 3, 74, 34, 38, 52, 39, 87, 0, 67, 18, 92, 25, 17, 58, 45, 22, 28, 20, 64, 98, 25, 89, 26, 47, 84, 43, 84, 94, 29, 77, 2, 27, 71, 20, 73, 67, 99, 14, 87, 68, 36, 17, 11, 20, 12, 72, 69, 49, 35, 37, 46, 3, 55, 10, 6, 18, 82, 1, 99, 10, 6, 79, 3, 86, 64, 94, 36, 86, 95, 45, 26, 64, 1, 50, 49, 4, 58, 9, 14, 98, 98, 23, 55, 85, 20, 80, 20, 4, 43, 78, 96, 75, 2, 52, 62, 14, 27, 73, 19, 96, 15, 67, 88, 70, 2, 34, 53, 29, 78, 86, 65, 46, 0, 46, 9, 12, 8, 84, 73, 70, 73, 4, 93, 48, 33, 48, 40, 76, 38, 96, 82, 61, 41, 48, 53, 23, 33, 21, 15, 42, 73, 3, 49, 45, 4, 54, 3, 76, 7, 60, 47, 24, 6, 14, 45, 44, 2, 74, 90, 8, 66, 9, 27, 35, 1, 33, 4, 1, 49, 45, 17, 13, 1, 83, 90, 9, 27, 27, 97, 30, 46, 50, 9, 13, 28, 4, 96, 78, 2, 42, 34, 7, 46, 22, 2, 12, 20, 6, 59, 25, 5, 85, 82, 95, 95, 53, 6, 27, 23, 55, 37, 56, 66, 81, 67, 39, 23, 15, 49, 40, 38, 64, 65, 62, 81, 0, 33, 8, 3, 89, 31, 90, 7, 67, 69, 13, 96, 36, 22, 99, 4, 33, 92, 52, 14, 69, 33, 4, 46, 35, 69, 87, 81, 58, 71, 0, 76, 80, 78, 58, 43, 49, 6, 22, 6, 79, 78, 62, 21, 76, 5, 99, 78, 94, 27, 50, 60, 48, 22, 78, 18, 37, 2, 66, 38, 80, 91, 61, 84, 1, 7, 50, 47, 50, 57, 57, 0, 16, 89, 53, 47, 86, 33, 57, 16, 55, 94, 53, 42, 23, 72, 91, 50, 33, 26, 61, 59, 91, 89, 98, 92, 76, 5, 69, 1, 10, 73, 48, 74, 52, 22, 62, 22, 19, 81, 80, 42, 95, 45, 1, 34, 52, 88, 50, 88, 58, 25, 65, 53, 37, 54, 0, 16, 76, 4, 84, 44, 99, 19, 93, 54, 33, 24, 19, 8, 68, 35, 79, 49, 54, 79, 63, 42, 45, 14, 86, 87, 73, 85, 70, 47, 64, 31, 44, 35, 43, 37, 40, 76, 52, 16, 95, 98, 96, 77, 13, 40, 87, 35, 36, 41, 62, 7, 48, 21, 97, 28, 16, 8, 2, 21, 97, 57, 46, 70, 66, 42, 30, 17, 97, 92, 11, 54, 37, 99, 16, 38, 31, 12, 40, 35, 92, 94, 86, 48, 50, 18, 40, 62, 42, 36, 87, 22, 38, 86, 54, 0, 61, 23, 65, 44, 72, 35, 95, 20, 95, 23, 72, 0, 11, 95, 72, 94, 55, 55, 9, 38, 6, 42, 25, 48};
        int[] a = new int[maxSize];
        for (int i = 0; i < maxSize; i++) {
            a[i] = base[i];
        }
//        printArray(a);
        return a;
    }


}
